package pl.kosmowska.ewelina.client.views;

import java.util.Date;
import java.util.List;

import pl.kosmowska.ewelina.client.app.requestfactory.dto.OutcomeDataProxy;

import com.google.gwt.place.shared.Place;
import com.google.gwt.user.client.ui.IsWidget;

public interface IncomeView extends IsWidget {

	interface Presenter {
		void goTo(Place place);

		void deleteSingleIncome(OutcomeDataProxy outcomeDataProxy);

		void deleteFollowingMultipleIncome(OutcomeDataProxy outcomeDataProxy);

		void deleteAllMultipleIncome(OutcomeDataProxy outcomeDataProxy);

		void goToNewIncomePlace();

		void goToIncomeeEditPlace(OutcomeDataProxy selectedItem);

		void loadDataForIncomeView(Date startDate, Date endDate);

		void loadDataForIncomeView();

	}

	void setPresenter(Presenter presenter);

	void updateAfterIncomeDelete(OutcomeDataProxy outcomeDataProxy);

	void updateAfterIncomeDelete(List<OutcomeDataProxy> deletedList);

	void clearView();

	void showMessage(String message);

	boolean isAlreadyInit();

	void setAlreadyInit(boolean alreadyInit);

	void reInitView(List<OutcomeDataProxy> returnedOutcomeData);

}
